#ifndef LISTAADX_H
#define LISTAADX_H
#include <list>

#include "adx.h"

using namespace std;


/// Manipula a classe ADX e gera uma lista
class ListaADX
{
public:
    /// construtor vazio
    ListaADX();

    /// lista de objetos ADX calculados com data, IDpos, IDneg
    list<ADX*> dadosGer; // adx's calculados
    list<ADX*> beta; // testes

    /// lista de objetos ADx da base de dados
    list<ADX*> dadosExt; // lista da base da dados

    /// metodo para calcular adx e gerar uma lista
    list<ADX*> calculaADX(int  periodo , list<ADX*> lista );

    /// grava a lista de ADX calculados como arquivo texto (tipo csv)
    void grava();

    /// iterador para dados temporarios1
    list<ADX*>::iterator iter1;

    /// iterador para dados temporarios2
    list<ADX*>::iterator iter2;

    /// objetos adx temporarios
    ADX *temp;
    ADX *atual;
    ADX *prox;
    double  alfa;
    double z;

};

#endif // LISTAADX_H
